home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
S-Sound and Music
/
(c)s3.d64
/
sound effects.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
18KB
|
844 lines
0 GOSUB 3000:GOTO2000
1 LIST 0-999 :REM DIR ***********
2 LIST 2000-2999:REM MENU
3 LIST 3000-3999:REM DATA
4 LIST 4000-4999:REM V1 SET UP
5 LIST 5000-5999:REM V2 SET UP
6 LIST 6000-6999:REM V3 SET UP
7 LIST 7000-7999:REM FILTER SET UP
8 LIST 8000-8999:REM NOTES
9 LIST 9000-9999:REM COMPUTE DURATION
10 LIST 10000-10999:REM POKE ALL VOICES
11 LIST 11000-11999:REM GET KEY
12 LIST 12000-12999:REM SOUND ALL VOICES
13 LIST 13000-13999:REM PLAY ALL VOICES
14 LIST 14000-14999:REM PLAY FILTER
15 LIST 15000-15999:REM RETREIVE POKES
16 LIST 16000-16999:REM PRINT PROGRAM
17 LIST 17000-17999:REM PLAY 1 VOICE
18 LIST 18000-18999:REM POKE 1 VOICE
19 LIST 19000-19999:REM MAKE SOUND
20 LIST 20000-21000:REM MAKE ARRAY
21 LIST 21000-21999:REM MAKE SOUND
22 LIST 22000-22999:REM INSTRUCTIONS
41 LIST 4000-4112
42 LIST 4113-4621
43 LIST 4622-4661
44 LIST 4662-4991
45 LIST 4992-4999
51 LIST 5000-5112
52 LIST 5113-5621
53 LIST 5622-5661
54 LIST 5662-5991
55 LIST 5992-5999
61 LIST 6000-6112
62 LIST 6113-6621
63 LIST 6622-6661
64 LIST 6662-6991
65 LIST 6992-6999
90 LIST 9000-9100
91 LIST 9100-9200
92 LIST 9200-9300
95 LIST 9500-9700
97 LIST 9700-9800
100 REM *********************
102 REM *
104 REM SOUND EFFECTS 64 *
106 REM SID 25 *
108 REM A RYDBERG *
110 REM RFD #1 BOX 46C *
112 REM STERLING CT *
114 REM 06377 *
118 REM *
122 REM *********************
2000 REM *********************** MENU
2010 PRINT "[147]":PRINT " MENU"
2015 PRINT
2020 PRINT " 1 SET UP VOICE 1"
2030 PRINT " 2 SET UP VOICE 2 "
2040 PRINT " 3 SET UP VOICE 3 "
2050 PRINT " 4 SET UP FILTER"
2074 PRINT " 5 RETREAVE POKES "
2076 PRINT " 6 PRINT PROGRAM "
2077 PRINT " 7 TEST"
2078 PRINT " 8 INSTRUCTIONS"
2079 PRINT " 9 END"
2080 PRINT
2085 PRINT
2090 INPUT"SELECT ITEM";X
2095 IF X>9 THEN 2000
2100 ON X GOSUB 4000,5000,6000,7000,15000,16000,21000,22000,2995
2110 GOTO 2010
2990 GOTO 2000
2995 END
2999 REM
3000 REM *********************** DATA
3002 POKE 53281,0 :REM BLACK SCREEN
3003 PRINT "": REM WHITE LETTERS
3010 FOR X=54272 TO 54296
3020 POKE X,0
3030 NEXT X
3039 V4=15
3040 V1=54272
3050 V2=54279
3060 V3=54286
3070 F1=54293
3080 DIM Z(25)
3150 K=880
3998 RETURN
3999 REM
4000 REM **************** V 1 SET UP SUB
4010 PRINT"[147]":PRINT" VOICE 1 SET UP"
4015 PRINT
4020 PRINT" 1,FREQ LO (0-255) "L1
4025 PRINT" 2,FREQ HI (0-255) "H1
4030 PRINT" 3,PW LO (0-255) "P1
4035 PRINT" 4,PW HI (0-15) "Q1" D="INT((Q1*256+P1)/40.96)"%"
4040 PRINT" 5,WAVE (N,P,S,T,A) "W1$
4045 PRINT" 6,ATTACK (0-15) "A1
4050 PRINT" 7,DECAY (0-15) "D1
4055 PRINT" 8,SUB (0-15) "S1
4060 PRINT" 9,RELEASE (0-15) "R1
4065 PRINT" 10,SYNC 1 WITH 3,3<1 (0-1) "Y1
4070 PRINT" 11,RING MOD 1 WITH 3 (0-1) "M1
4102 PRINT
4109 PRINT" 12, TEST "
4110 PRINT" 13, PLAY VOICE 1"
4111 PRINT" 14, PLAY ALL VOICES "
4112 PRINT" 15, RETURN TO MAIN MENU"
4113 X1=1
4114 GOSUB 9000
4116 PRINT
4117 PRINT " DURATION= "T1+R5" SECONDS"
4118 PRINT " FREQ="(.0596*(256*H1+L1))
4120 GOSUB 18000:GOSUB 19000
4200 PRINT
4500 INPUT" NUMBER TO BE CHANGED";X
4505 IF X>15 THEN 4000
4506 IF X>8 THEN GOTO 4515
4510 ON X GOTO 4610,4620,4630,4640,4650,4660,4670,4680
4515 X=X-8
4520 ON X GOTO 4690,4700,4800,4900,4895,4920,4998
4610 INPUT "L1 (0-255)";L1
4611 IF L1>255 THEN L1=255
4612 GOTO 4000
4620 INPUT "H1 (0-255)";H1
4621 IF H1>255 THEN H1=255
4622 GOTO 4000
4630 INPUT "P1 (0-255)";P1
4631 IF P1>255 THEN P1=255
4632 GOTO 4000
4640 INPUT "Q1 (0-15)";Q1
4641 IF Q1>15 THEN Q1=15
4642 GOTO 4000
4650 INPUT "W1$(N,P,S,T) ";W1$
4651 IF M1=1 THEN PRINT "RING MOD SET NO CHANGE ALLOWED":GOTO 4500
4652 IF W1$="N" THEN W1=128:GOTO 4000
4654 IF W1$="P" THEN W1=64:GOTO 4000
4656 IF W1$="S" THEN W1=32:GOTO 4000
4657 IF W1$="A" THEN W1=0:GOTO 4000
4658 IF W1$="T" THEN W1=16:GOTO 4000
4659 GOTO 4650
4660 INPUT "A1 (0-15)";A1
4661 IF A1>15 THEN A1=15
4662 GOTO 4000
4670 INPUT "D1 (0-15)";D1
4671 IF D1>15 THEN D1=15
4672 GOTO 4000
4680 INPUT "S1 (0-15)";S1
4681 IF S1>15 THEN S1=15
4682 GOTO 4000
4690 INPUT "R1 (0-15)";R1
4691 IF R1>15 THEN R1=15
4692 GOTO 4000
4700 INPUT "SYNC (0-1)";Y1
4710 IF Y1>1 THEN Y1=1
4720 GOTO 4000
4800 IF W1$<>"T" THEN PRINT "NO TRIANGLE WAVEFORM":GOTO 4500
4810 INPUT "M1 (0-1)";M1
4820 IF M1>1 THEN M1=1
4830 GOTO 4000
4895 GOSUB 17000
4900 GOTO 4000
4920 GOSUB 13000
4930 GOTO 4000
4998 RETURN
4999 REM
5000 REM **************** V 2 SET UP SUB
5010 PRINT"[147]":PRINT" VOICE 2 SET UP"
5015 PRINT
5020 PRINT" 1,FREQ LO (0-255) "L2
5025 PRINT" 2,FREQ HI (0-255) "H2
5030 PRINT" 3,PW LO (0-255) "P2
5035 PRINT" 4,PW HI (0-15) "Q2" D="INT((Q2*256+P2)/40.96)"%"
5040 PRINT" 5,WAVE (N,P,S,T,A) "W2$
5045 PRINT" 6,ATTACK (0-15) "A2
5050 PRINT" 7,DECAY (0-15) "D2
5055 PRINT" 8,SUB (0-15) "S2
5060 PRINT" 9,RELEASE (0-15) "R2
5065 PRINT" 10,SYNC 2 WITH 1,1<2 (0-1) "Y2
5070 PRINT" 11,RING MOD 2 WITH 1 (0-1) "M2
5102 PRINT
5109 PRINT" 12, TEST "
5110 PRINT" 13, PLAY VOICE 2"
5111 PRINT" 14, PLAY ALL VOICES "
5112 PRINT" 15, RETURN TO MAIN MENU"
5113 X1=2
5114 GOSUB 9000
5116 PRINT
5117 PRINT " DURATION= "T2+R6" SECONDS"
5118 PRINT " FREQ="(.0596*(256*H2+L2))
5120 GOSUB 18000:GOSUB 19000
5200 PRINT
5500 INPUT" NUMBER TO BE CHANGED";X
5505 IF X>15 THEN 5000
5506 IF X>8 THEN GOTO 5515
5510 ON X GOTO 5610,5620,5630,5640,5650,5660,5670,5680
5515 X=X-8
5520 ON X GOTO 5690,5700,5800,5900,5895,5920,5998
5610 INPUT "L2 (0-255)";L2
5611 IF L2>255 THEN L2=255
5612 GOTO 5000
5620 INPUT "H2 (0-255)";H2
5621 IF H2>255 THEN H2=255
5622 GOTO 5000
5630 INPUT "P2 (0-255)";P2
5631 IF P2>255 THEN P2=255
5632 GOTO 5000
5640 INPUT "Q2 (0-15)";Q2
5641 IF Q2>15 THEN Q2=15
5642 GOTO 5000
5650 INPUT "W2$(N,P,S,T) ";W2$
5651 IF M2=1 THEN PRINT "RING MOD SET NO CHANGE ALLOWED":GOTO 5500
5652 IF W2$="N" THEN W2=128:GOTO 5000
5654 IF W2$="P" THEN W2=64:GOTO 5000
5656 IF W2$="S" THEN W2=32:GOTO 5000
5657 IF W2$="A" THEN W2=0:GOTO 5000
5658 IF W2$="T" THEN W2=16:GOTO 5000
5659 GOTO 5650
5660 INPUT "A2 (0-15)";A2
5661 IF A2>15 THEN A2=15
5662 GOTO 5000
5670 INPUT "D2 (0-15)";D2
5671 IF D2>15 THEN D2=15
5672 GOTO 5000
5680 INPUT "S2 (0-15)";S2
5681 IF S2>15 THEN S2=15
5682 GOTO 5000
5690 INPUT "R2 (0-15)";R2
5691 IF R2>15 THEN R2=15
5692 GOTO 5000
5700 INPUT "SYNC (0-1)";Y2
5710 IF Y2>1 THEN Y2=1
5720 GOTO 5000
5800 IF W2$<>"T" THEN PRINT "NO TRIANGLE WAVEFORM":GOTO 5500
5810 INPUT "M2 (0-1)";M2
5820 IF M2>1 THEN M2=1
5830 GOTO 5000
5895 GOSUB 17000
5900 GOTO 5000
5920 GOSUB 13000
5930 GOTO 5000
5998 RETURN
5999 REM
6000 REM **************** V 3 SET UP SUB
6010 PRINT"[147]":PRINT" VOICE 3 SET UP"
6015 PRINT
6020 PRINT" 1,FREQ LO (0-255) "L3
6025 PRINT" 2,FREQ HI (0-255) "H3
6030 PRINT" 3,PW LO (0-255) "P3
6035 PRINT" 4,PW HI (0-15) "Q3" D="INT((Q3*256+P3)/40.96)"%"
6040 PRINT" 5,WAVE (N,P,S,T,A) "W3$
6045 PRINT" 6,ATTACK (0-15) "A3
6050 PRINT" 7,DECAY (0-15) "D3
6055 PRINT" 8,SUB (0-15) "S3
6060 PRINT" 9,RELEASE (0-15) "R3
6065 PRINT" 10,SYNC 3 WITH 2,2<3 (0-1) "Y3
6070 PRINT" 11,RING MOD 3 WITH 2 (0-1) "M3
6102 PRINT
6109 PRINT" 12, TEST "
6110 PRINT" 13, PLAY VOICE 3"
6111 PRINT" 14, PLAY ALL VOICES "
6112 PRINT" 15, RETURN TO MAIN MENU"
6113 X1=3
6114 GOSUB 9000
6116 PRINT
6117 PRINT " DURATION= "T3+R7" SECONDS"
6118 PRINT " FREQ="(.0596*(256*H3+L3))
6120 GOSUB 18000:GOSUB 19000
6200 PRINT
6500 INPUT" NUMBER TO BE CHANGED";X
6505 IF X>15 THEN 6000
6506 IF X>8 THEN GOTO 6515
6510 ON X GOTO 6610,6620,6630,6640,6650,6660,6670,6680
6515 X=X-8
6520 ON X GOTO 6690,6700,6800,6900,6895,6920,6998
6610 INPUT "L3 (0-255)";L3
6611 IF L3>255 THEN L3=255
6612 GOTO 6000
6620 INPUT "H3 (0-255)";H3
6621 IF H3>255 THEN H3=255
6622 GOTO 6000
6630 INPUT "P3 (0-255)";P3
6631 IF P3>255 THEN P3=255
6632 GOTO 6000
6640 INPUT "Q3 (0-15)";Q3
6641 IF Q3>15 THEN Q3=15
6642 GOTO 6000
6650 INPUT "W3$(N,P,S,T) ";W3$
6651 IF M3=1 THEN PRINT "RING MOD SET NO CHANGE ALLOWED":GOTO 6500
6652 IF W3$="N" THEN W3=128:GOTO 6000
6654 IF W3$="P" THEN W3=64:GOTO 6000
6656 IF W3$="S" THEN W3=32:GOTO 6000
6657 IF W3$="A" THEN W3=0:GOTO 6000
6658 IF W3$="T" THEN W3=16:GOTO 6000
6659 GOTO 6650
6660 INPUT "A3 (0-15)";A3
6661 IF A3>15 THEN A3=15
6662 GOTO 6000
6670 INPUT "D3 (0-15)";D3
6671 IF D3>15 THEN D3=15
6672 GOTO 6000
6680 INPUT "S3 (0-15)";S3
6681 IF S3>15 THEN S3=15
6682 GOTO 6000
6690 INPUT "R3 (0-15)";R3
6691 IF R3>15 THEN R3=15
6692 GOTO 6000
6700 INPUT "SYNC (0-1)";Y3
6710 IF Y3>1 THEN Y3=1
6720 GOTO 6000
6800 IF W3$<>"T" THEN PRINT "NO TRIANGLE WAVEFORM":GOTO 6500
6810 INPUT "M3 (0-1)";M3
6820 IF M3>1 THEN M3=1
6830 GOTO 6000
6895 GOSUB 17000
6900 GOTO 6000
6920 GOSUB 13000
6930 GOTO 6000
6998 RETURN
6999 REM
7000 REM ***************** FILTER SET UP
7010 PRINT "[147]":PRINT " FILTER SET UP"
7020 PRINT
7030 PRINT " 1, FREQ LO (0-15) " L4
7040 PRINT " 2, FREQ HI (0-255) "H4" FREQ="30+5.8*(H4*8+L4)
7050 PRINT " 3, RES (0-15) "R4
7060 PRINT " 4, FILT V1(0-1) "G1
7062 PRINT " 5, FILT V2(0-1) "G2
7064 PRINT " 6, FILT V3(0-1) "G3
7070 PRINT " 7, 3 OFF (0 OR 1) [160]"S4
7080 PRINT " 8, HP,PB,LP (1,2,4) "B4
7090 PRINT " 9, VOL (0-15) "V4
7095 PRINT
7100 PRINT " 10, TEST
7111 [153] " 11, PLAY FILTER "
7112 [153] " 12, RETURN TO MAIN MENU"
7113 [153]" "
7115 [141] 18000:[141] 19000
7300 [133] "ITEM TO CHANGE";X
7310 [145] X [137] 7410,7420,7430,7440,7445,7450,7455,7460,7470,7000,7500,7998
7410 [133] "LOW FREQ (0-15)";L4
7411 [139] L4[177]15 [167] L4[178]15
7412 [137] 7000
7420 [133] "HI FREQ (0-155)";H4
7421 [139] H4[177]255 [167] H4[178]255
7422 [137] 7000
7430 [133] "RES (0-15)";R4
7431 [139] R4[177]15 [167] R4[178]15
7432 [137] 7000
7440 [133] "VOICE 1 (0-1)";G1
7441 [139] G1[177]1 [167] G1[178]1
7442 [137] 7000
7445 [133] "VOICE 2 (0-1)";G2
7446 [139] G2[177]1 [167] G2[178]1
7447 [137] 7000
7450 [133] "VOICE 3 (0-1)";G3
7451 [139] G3[177]1 [167] G3[178]1
7452 [137] 7000
7455 [133] "3 OFF (0-1)";S4
7456 [139] S4[177]1 [167] S4[178]1
7457 [137] 7000
7460 [133] "FILT TYPE 1,2,4";B4
7461 [139] B4[178]3 [167] B4[178]0
7462 [139] B4[177]4 [167] B4[178]0
7463 [137] 7000
7470 [133] "VOL (0-15)";V4
7471 [139] V4[177]15 [167] V4[178]15
7472 [137] 7000
7500 [141] 14000:[137] 7000
7998 [142]
7999 [143]
8000 [143] *************************NOTES
8010 [143] A1-A3 ATTACK INPUT
8011 [143] A5-A7 ATTACK TIME
8015 [143] B4 BANDPASS INPUT
8016 [143] C1-C2 ADS COUNT,REL COUNT
8017 [143] C3-C5 ADS COUNT
8018 [143] C6-C8 REL COUNT
8020 [143] D1-D3 DECAY INPUT
8021 [143] D5-D8 DECAY TIME
8030 [143] F1 FILTER ADDRESS
8037 [143] G1 FILTER 1 ON
8038 [143] G2 FILTER 2 ON
8039 [143] G3 FILTER 3 ON
8040 [143] G4 FILTER INPUT
8050 [143] H1-H4 HI FREQ INPUT
8051 [143] I TEMP VALUE
8055 [143] J TEMP VALUE
8057 [143] K CALBRATION FACTOR
8058 [143] K1+K2 KEY VALUE
8059 [143] L
8060 [143] L1-L4 LO FREQ INPUT
8070 [143] M1,M2,M3 RING MOD BIT
8075 [143] N
8076 [143] O
8080 [143] P1-P3 PULSE INPUT LO
8090 [143] Q1-Q3 PULSE INPUT HI
8099 [143] R1-R3 RELEASE INPUT
8100 [143] R4 RESONANCE INPUT
8101 [143] R5-R8 REL TIME
8109 [143] S1-S3 SUB INPUT
8110 [143] S4 FILTER SWITCH INPUT
8111 [143] S5-S8 SUB TIME
8114 [143] T=TEMP DURATION
8115 [143] T1-T3 DURATION IN SEC (ADS)
8119 [143] U READ DATA
8120 [143] V1-V3 VOICE START ADDRESSS
8121 [143] V4 VOLUME INPUT
8130 [143] W1-W3 WAVEFORM POKE VALUES
8140 [143] WI$-W3$ WAVEFORM INPUTS
8150 [143] X TEMP INPUT VARIABLE
8152 [143] X$ TEMP INPUT VALUE
8160 [143] X1 VOICE #
8170 [143] Y1,Y2,Y3 SYNC BIT
8180 [143] Z ARRAY VARABLE
9000 [143] ******************DURATION CMP
9002 [139] X1[178]1 [167] [141] 9030
9006 [139] X1[178]2 [167] [141] 9130
9010 [139] X1[178]3 [167] [141] 9230
9020 [137] 9700
9030 X5[178]A1:[141] 9500
9033 A5[178]T
9040 X5[178]D1:[141] 9500
9045 D5[178]3[172]T
9050 X5[178]S1:[141] 9500
9052 S5[178]3[172]T
9060 X5[178]R1:[141] 9500
9065 R5[178]3[172]T
9066 T1[178]A5[170]D5[170]S5
9070 C3[178]K[172]T1
9080 C6[178]K[172]R5
9090 [142]
9130 X5[178]A2:[141] 9500
9133 A6[178]T
9140 X5[178]D2:[141] 9500
9145 D6[178]3[172]T
9150 X5[178]S2:[141] 9500
9152 S6[178]3[172]T
9160 X5[178]R2:[141] 9500
9165 R6[178]3[172]T
9166 T2[178]A6[170]D6[170]S6
9170 C4[178]K[172]T2
9180 C7[178]K[172]R6
9190 [142]
9230 X5[178]A3:[141] 9500
9233 A7[178]T
9240 X5[178]D3:[141] 9500
9245 D7[178]3[172]T
9250 X5[178]S3:[141] 9500
9252 S7[178]3[172]T
9260 X5[178]R3:[141] 9500
9265 R7[178]3[172]T
9266 T3[178]A7[170]D7[170]S7
9270 C5[178]K[172]T3
9280 C8[178]K[172]R7
9290 [142]
9500 [139] X5[178]0 [167] T[178].002
9510 [139] X5[178]1 [167] T[178].008
9520 [139] X5[178]2 [167] T[178].016
9530 [139] X5[178]3 [167] T[178].024
9540 [139] X5[178]4 [167] T[178].038
9550 [139] X5[178]5 [167] T[178].056
9560 [139] X5[178]6 [167] T[178].068
9570 [139] X5[178]7 [167] T[178].080
9580 [139] X5[178]8 [167] T[178].1
9590 [139] X5[178]9 [167] T[178].250
9600 [139] X5[178]10 [167] T[178].5
9610 [139] X5[178]11 [167] T[178].8
9620 [139] X5[178]12 [167] T[178]1
9630 [139] X5[178]13 [167] T[178]3
9640 [139] X5[178]14 [167] T[178]5
9650 [139] X5[178]15 [167] T[178]8
9655 [141] 9700
9660 [142]
9700 [139] C3[177][178]C4 [175] C3[177][178]C5 [167] C1[178]C3
9710 [139] C4[177][178]C5 [175] C4[177][178]C6 [167] C1[178]C4
9720 [139] C5[177][178]C3 [175] C5[177][178]C4 [167] C1[178]C5
9750 [139] R5[177][178]R6 [175] R5[177][178]R7 [167] C2[178]C6
9760 [139] R6[177][178]R7 [175] R6[177][178]R5 [167] C2[178]C7
9770 [139] R7[177][178]R5 [175] R7[177][178]R6 [167] C2[178]C8
9780 [142]
10000 [143] ************* POKE ALL VOICES
10020 [151] V1,L1:[151] V2,L2:[151]V3,L3
10030 [151] V1[170]1,H1:[151] V2[170]1,H2:[151]V3[170]1,H3
10040 [151] V1[170]2,P1:[151] V2[170]2,P2:[151]V3[170]2,P3
10050 [151] V1[170]3,Q1:[151] V2[170]3,Q2:[151]V3[170]3,Q3
10060 [151] V1[170]4,W1:[151] V2[170]4,W2:[151]V3[170]4,W3
10070 [151] V1[170]5,(16[172]A1[170]D1)
10072 [151] V2[170]5,(16[172]A2[170]D2)
10074 [151] V3[170]5,(16[172]A3[170]D3)
10080 [151] V1[170]6,(16[172]S1[170]R1)
10082 [151] V2[170]6,(16[172]S2[170]R2)
10084 [151] V3[170]6,(16[172]S3[170]R3)
10110 [151] F1,L4
10120 [151] F1[170]1,H4
10125 G4[178]G1[170]2[172]G2[170]4[172]G3
10130 [151] F1[170]2,R4[172]16[170]G4
10140 [151] F1[170]3,S4[172]128[170]B4[172]16[170]V4
10990 [142]
10998 [143]
10999 [143]
11000 [143] ************* GET KEY
11100 [161] X$:[139] X$[178]"" [167] 11100
11110 [139] X$[178]"1" [167] K1[178]128:[137] 11990
11120 [139] X$[178]"2" [167] K1[178]256:[137] 11990
11130 [139] X$[178]"3" [167] K1[178]512:[137] 11990
11140 [139] X$[178]"4" [167] K1[178]1024:[137] 11990
11150 [139] X$[178]"5" [167] K1[178]2048:[137] 11990
11160 [139] X$[178]"6" [167] K1[178]4096:[137] 11990
11170 [139] X$[178]"7" [167] K1[178]8192:[137] 11990
11180 [139] X$[178]"8"[167] K1[178]16348:[137] 11990
11190 [139] X$[178]"9"[167] K1[178]32768:[137] 11990
11195 [139] X$[178]"0"[167] K1[178]65535:[137] 11990
11200 [139] X$[178]"U" [167] K1[178]K1[172]1.125:[139] K1[177]65535 [167] K1[178]65535
11201 [139] X$[178]"U" [167] [137] 11990
11210 [139] X$[178]"D" [167] K1[178]K1[172].875:[139] K1[179]1 [167] K1[178]1
11211 [139] X$[178]"D" [167] [137] 11990
11220 [139] X$[178]"Q" [167] [137] 11990
11230 [137] 11100
11990 [142]
12000 [143] ************ SOUND ALL VOICES
12100 [151] V1[170]4,W1[170]1[170]4[172]M1[170]2[172]Y1
12101 [151] V2[170]4,W2[170]1[170]4[172]M2[170]2[172]Y2
12102 [151] V3[170]4,W3[170]1[170]4[172]M3[170]2[172]Y3
12120 [129] X[178]1 [164] C1:[130]
12130 [151] V1[170]4,W1
12132 [151] V2[170]4,W2
12133 [151] V3[170]4,W3
12140 [129] X[178]1 [164] C2:[130]
12150 [151] V1[170]4,0
12152 [151] V2[170]4,0
12153 [151] V3[170]4,0
12160 [151] V1[170]5,0
12162 [151] V2[170]5,0
12163 [151] V3[170]5,0
12170 [151] V1[170]6,0
12172 [151] V2[170]6,0
12173 [151] V3[170]6,0
12180 [137] 12990
12990 [142]
12998 [143]
12999 [143]
13000 [143] ************ PLAY ALL VOICES
13090 [153] "PLAYING "X1
13091 [153] "Q TO QUIT"
13100 [141] 11000
13110 [139] X$[178]"Q" [167] 13990
13200 [139] X1[178]1 [167] 13300
13201 [139] X1[178]2 [167] 13400
13202 [139] X1[178]3 [167] 13500
13203 [137] 13990
13300 H1[178][181](K1[173]256)
13310 L1[178][181](K1[171]H1[172]256)
13320 [141] 10000
13330 [141] 12000
13340 [137] 13100
13400 H2[178][181](K1[173]256)
13410 L2[178][181](K1[171]H2[172]256)
13420 [141] 10000
13430 [141] 12000
13440 [137] 13100
13500 H3[178][181](K1[173]256)
13510 L3[178][181](K1[171]H3[172]256)
13520 [141] 10000
13530 [141] 12000
13540 [137] 13100
13990 [142]
14000 [143] ***************** PLAY FILTER
14090 [153] "PLAYING "X1
14091 [153] "Q TO QUIT"
14100 [141] 11000
14110 [139] X$[178]"Q" [167] 17990
14115 K2[178]K1
14120 K2[178]K2[173]32
14200 H4[178][181](K2[173]8)
14210 L4[178][181](K2[171]H4[172]8)
14220 [141] 18000:[141]19000
14230 [137] 14100
14990 [142]
14999 [143]
15000 [143] ************** RETREIVE POKES
15010 [153]"LOAD"
15012 [141] 20000
15014 [153] " RETREVE POKES "
15015 [153]
15020 [153] "VOICE 1"," ","VOICE 2"
15030 [153] V1,Z(1),V2,Z(8)
15040 [153] V1[170]1,Z(2),V2[170]1,Z(9)
15050 [153] V1[170]2,Z(3),V2[170]2,Z(10)
15060 [153] V1[170]3,Z(4),V2[170]3,Z(11)
15070 [153] V1[170]4,Z(5),V2[170]3,Z(12)
15080 [153] V1[170]5,Z(6),V2[170]5,Z(13)
15085 [153] V1[170]6,Z(7),V2[170]6,Z(14)
15090 [153]:[153]:[153]
15120 [153] "VOICE 3"," ","FILTER "
15130 [153] V3,Z(15),F1,Z(22)
15140 [153] V3[170]1,Z(16),F1[170]1,Z(23)
15150 [153] V3[170]2,Z(17),F1[170]2,Z(24)
15160 [153] V3[170]3,Z(18),F1[170]3,Z(25)
15170 [153] V3[170]4,Z(19)
15171 [153] V3[170]5,Z(20)
15172 [153] V1[170]6,Z(21)
15175 [153] " "," ","COUNT 1="C1
15176 [153] " "," ","COUNT 2="C2
15180 [153]
15190 [153] " ANY KEY TO RETURN"
15900 [161] X$:[139] X$[178]""[167] 15900
15990 [142]
16000 [143] ***************PRINT PROGRAM
16005 [153] "LOAD";
16006 [141] 20000
16010 [153]" RESTORE :FOR X=1 TO 25 :READ U:POKE 54271+X,U:NEXT X"
16300 [153]" DATA"Z(1)","Z(2)","Z(3)","Z(4)","Z(5)"
16310 PRINT" DATA"Z(6)","Z(7)","Z(8)","Z(9)","Z(10)"
16320 [153]" DATA"Z(11)","Z(12)","Z(13)","Z(14)","Z(15)"
16330 PRINT" DATA"Z(16)","Z(17)","Z(18)","Z(19)","Z(20)
16340 PRINT" DATA"Z(21)","Z(22)","Z(23)","Z(24)","Z(25)
16399 IF Z(5)=0 THEN 16409
16400 PRINT" POKE 54276," Z(5)+1
16409 IF Z(12)=0 THEN 16419
16410 PRINT" POKE 54283," Z(12)+1
16419 IF Z(19)=0 THEN 16430
16420 PRINT" POKE 54290," Z(19)+1
16430 PRINT" FOR I=0 TO "C1": NEXT I"
16495 IF Z(5)=0 THEN 16505
16500 PRINT" POKE 54276," Z(5)
16505 IF Z(12)=0 THEN 16515
16510 PRINT" POKE 54283," Z(12)
16515 IF Z(19)=0 THEN 16530
16520 PRINT" POKE 54290," Z(19)
16530 PRINT" FOR I=0 TO "C2": NEXT I"
16600 PRINT" FORX=0TO23:POKE54272+X,0:NEXT X"
16880 PRINT
16890 PRINT "ANY KEY TO RETURN (E TO ERASE)"
16900 GET X$
16910 IF X$="E" THEN NEW
16920 IF X$="" THEN 16900
16990 RETURN
17000 REM ****************** PLAY VOICE
17090 PRINT "PLAYING "X1
17091 PRINT "Q TO QUIT"
17100 GOSUB 11000
17110 IF X$="Q" THEN 17990
17200 IF X1=1 THEN 17300
17201 IF X1=2 THEN 17400
17202 IF X1=3 THEN 17500
17203 GOTO 17990
17300 H1=INT(K1/256)
17310 L1=INT(K1-H1*256)
17320 GOSUB 18000
17330 GOSUB 19000
17340 GOTO 17100
17400 H2=INT(K1/256)
17410 L2=INT(K1-H2*256)
17420 GOSUB 18000
17430 GOSUB 19000
17440 GOTO 17100
17500 H3=INT(K1/256)
17510 L3=INT(K1-H3*256)
17520 GOSUB 18000
17530 GOSUB 19000
17540 GOTO 17100
17990 RETURN
18000 REM ************* POKE 1 VOICE
18010 POKE F1,L4
18020 POKE F1+1,H4
18025 G4=G1+2*G2+4*G3
18030 POKE F1+2,R4*16+G4
18040 POKE F1+3,S4*128+B4*16+V4
18090 IF X1=1 THEN 18100
18091 IF X1=2 THEN 18200
18092 IF X1=3 THEN 18300
18093 GOTO 18990
18100 REM #1
18120 POKE V1,L1
18130 POKE V1+1,H1
18140 POKE V1+2,L1
18150 POKE V1+3,Q1
18160 POKE V1+4,W1
18170 POKE V1+5,(16*A1+D1)
18180 POKE V1+6,(16*S1+R1)
18199 GOTO 18990
18200 REM #2
18220 POKE V2,L2
18230 POKE V2+1,H2
18240 POKE V2+2,L2
18250 POKE V2+3,Q2
18260 POKE V2+4,W2
18270 POKE V2+5,(16*A2+D2)
18280 POKE V2+6,(16*S2+R2)
18299 GOTO 18990
18300 REM #3
18320 POKE V3,L3
18330 POKE V3+1,H3
18340 POKE V3+2,L3
18350 POKE V3+3,Q3
18360 POKE V3+4,W3
18370 POKE V3+5,(16*A3+D3)
18380 POKE V3+6,(16*S3+R3)
18399 GOTO 18990
18990 REM
18991 RETURN
18998 REM
18999 REM
19000 REM ********* MAKE 1 VOICE SOUND
19010 IF X1=1 THEN 19100
19011 IF X1=2 THEN 19200
19012 IF X1=3 THEN 19300
19013 GOTO 19990
19100 POKE V1+4,W1+1
19120 FOR X=1 TO C3:NEXT
19130 POKE V1+4,W1
19140 FOR X=1 TO C6:NEXT
19150 POKE V1+4,0
19160 POKE V1+5,0
19170 POKE V1+6,0
19180 GOTO 19990
19200 POKE V2+4,W2+1
19220 FOR X=1 TO C4:NEXT
19230 POKE V2+4,W2
19240 FOR X=1 TO C7:NEXT
19250 POKE V2+4,0
19260 POKE V2+5,0
19270 POKE V2+6,0
19280 GOTO 19990
19300 POKE V3+4,W3+1
19320 FOR X=1 TO C5:NEXT
19330 POKE V3+4,W3
19340 FOR X=1 TO C8:NEXT
19350 POKE V3+4,0
19360 POKE V3+5,0
19370 POKE V3+6,0
19380 GOTO 19990
19990 RETURN
19998 REM
19999 REM
20000 REM************* MAKE ARRAY
20100 Z(1)=L1:Z(2)=H1:Z(3)=P1:Z(4)=Q1
20110 Z(5)=W1+M1*4+Y1*2:Z(6)=A1*16+D1
20120 Z(7)=S1*16+R1
20200 Z(8)=L2:Z(9)=H2:Z(10)=P2:Z(11)=Q2
20210 Z(12)=W2+M2*4+Y2*2:Z(13)=A2*16+D2
20220 Z(14)=S2*16+R2
20300 Z(15)=L3:Z(16)=H3:Z(17)=P3:Z(18)=Q3
20310 Z(19)=W3+M3*4+Y3*2:Z(20)=A3*16+D3
20320 Z(21)=S3*16+R3
20400 Z(22)=L4:Z(23)=H4
20410 Z(24)=R4*16+G3*4+G2*2+G1
20420 Z(25)=B4*16+V4
20990 RETURN
20991 REM
20992 REM
20993 REM
21000 REM ************** MAKE SOUND
21010 GOSUB 20000
21100 FOR I=1 TO 25
21110 POKE 54271+I,Z(I)
21120 NEXT I
21195 IF Z(5)=0 THEN 21209
21200 POKE 54276,Z(5)+1
21209 IF Z(12)=0 THEN 21219
21210 POKE 54283,Z(12)+1
21219 IF Z(19)=0 THEN 21300
21220 POKE 54290,Z(19)+1
21300 FOR X=0 TO C1:NEXTX
21400 POKE 54276,Z(5)
21410 POKE 54283,Z(12)
21420 POKE 54290,Z(19)
21500 FOR X=0 TO C2:NEXT X
21600 FORX=0TO23:POKE54272+X,0:NEXT X
21990 RETURN
21991 REM
21992 REM
21993 REM
22000 REM INSTRUCTIONS
22010 PRINT"[147]"
22020 PRINT" "
22030 PRINT" INSTRUCTIONS "
22040 PRINT" "
22050 PRINT"1) NOTES: "
22060 PRINT" A THROUGH KNOWLEDGE"
22070 PRINT" OF SID THEORY IS REQUIRED"
22080 PRINT" TO USE THIS PROGRAM "
22150 PRINT"2) MAIN MENU: "
22160 PRINT" PICK THE OPERATION "
22170 PRINT" DESIRED AND ENTER THAT "
22180 PRINT" NUMBER "
22200 PRINT"3) THE WORD PLAY: "
22210 PRINT" AN ENTRY THAT USES "
22220 PRINT" THIS WORD WILL PLAY NOTES"
22230 PRINT" WHEN THE NUMBER KEYS 1-8"
22240 PRINT" ARE PRESSED. EACH KEY"
22250 PRINT" WILL PLAY A DIFFERENT "
22260 PRINT" OCTAVE. THE NOTES MAY "
22270 PRINT" BE PLAYED BY PRESSING"
22280 PRINT" U (UP) OR D[160](DOWN) "
22281 PRINT" "
22285 PRINT" PRESS N FOR NEXT PAGE"
22286 GET X$:IF X$<>"N" THEN 22286
22290 PRINT" "
22310 PRINT"[147]"
22315 PRINT" "
22320 PRINT"4) VOICE MENUS: "
22325 PRINT" ENTER THE DESIRED "
22330 PRINT" VALUES TO PLAY ANY"
22335 PRINT" VOICE "
22340 PRINT"5) FILTER MENU: "
22345 PRINT" ENTER THE VALUES DESIRED "
22350 PRINT"6) WHILE IN ANY VOICE"
22355 PRINT" IT IS POSSIBLE TO PLAY"
22360 PRINT" DIFFERENT NOTES "
22370 PRINT"7) WHILE IN THE FILTER "
22380 PRINT" MODE IT IS POSSIBLE TO"
22385 PRINT" PLAY DIFFERENT VALUES"
22395 PRINT" OF FILTER NOTES "
22397 PRINT" "
22398 PRINT" PRESS N FOR NEXT PAGE"
22399 GET X$:IF X$<>"N" THEN 22399
22410 PRINT"[147]"
22415 PRINT" "
22420 PRINT"8) THE MAIN MENU WILL"
22425 PRINT" ALLOW YOU TO PRINT THE"
22430 PRINT" SOUND PROGRAM THAT "
22431 PRINT" YOU HAVE CREATED BY "
22435 PRINT" ERASEING THIS PROGRAM. "
22440 PRINT" IF YOU DO THIS YOU MAY"
22445 PRINT" SAVE THE SOUND PROGRAM BY"
22450 PRINT" USING THE CURSER UP KEYS"
22455 PRINT" TO RENUMBER THE DATA AND"
22460 PRINT" POKE STATEMENTS. "
22470 PRINT" "
22480 PRINT" "
22485 PRINT" "
22495 PRINT" "
22497 PRINT" "
22970 PRINT" PRESS Q TO QUIT "
22980 GET X$:IF X$<>"Q" THEN 22980
22990 RETURN
22991 REM
22992 REM
22993 REM
22994 REM
55530 PRINT" WHEN THE NUMBER KEYS "